﻿#pragma once

#if defined(_MSC_VER)
	#define _CRT_SECURE_NO_WARNINGS
#endif

// 包含头文件
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/stat.h>	// 文件状态
#if defined(_WIN32) || defined(_WIN64)
// 适用于 Windows 系统
	#include <io.h>		// 文件操作
	#include <fcntl.h>  // 文件控制
#endif


// AES 加密库
#include "aes.h"
#include "utils.h"


// 数据存储测试函数
extern void printf_unsigned();
extern int strlen_test();
extern void printf_float();

extern void odd_even_sort1(int arr[], int left, int right);
extern void odd_even_sort2(int arr[], int left, int right);
extern int* two_sorted_arr_merge(int* arr1, int len1, int* arr2, int len2);



// 文件处理函数与测试
extern void pad_buffer(const uint8_t* input, size_t input_len, uint8_t* output, size_t padded_len);
extern void unpad_buffer(uint8_t* buffer, size_t* len);

extern void file_test();
extern void test_aes();
extern void test_file_size();


// 宏定义部分
#define print_start_line(start_str) printf("---------- %s ----------\n", start_str)
#define print_end_line(end_str) printf("---------- %s ----------\n\n\n", end_str)


